/*
 * Copyright 2010 Christoph Widulle (christoph.widulle@googlemail.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */



package org.amarena2d.examples.scenes;

import com.android1.amarena2d.input.EntityDragController;
import com.android1.amarena2d.nodes.Scene;
import com.android1.amarena2d.nodes.SimpleLabel;
import com.android1.amarena2d.nodes.sprites.Sprite;
import com.badlogic.gdx.graphics.Color;
import org.amarena2d.examples.Example;

@Example(name = "DragController", category = "Input")
public class DragSpriteExampleScene extends Scene {


    public DragSpriteExampleScene() {

        engine.getRenderer().setClearColor(Color.WHITE);

        final Sprite sprite = new Sprite("andou_die02.png", 240, 160);
        final Sprite sprite2 = new Sprite("enemy_brobot_idle01.png", 140, 160);


        //the sprite is our touchspot. only direct hits on him will arrive at the EntityDragController.
        //it can happen, that you drag the finger faster than than the sprite is updated. this will result in loosing our sprite.
        //to prevent this, we call TouchSpot.setNotifyNoHit(true).
        sprite.touch().makeTouchable(new EntityDragController(sprite)).setNotifyNoHit(true);

        touch().makeTouchable(new EntityDragController(sprite2));

        add(sprite,sprite2);

        add(new SimpleLabel("(Andou = touch and drag, Robot = touch anywhere and drag)", 10, 20, Color.BLACK));


    }


}